#ifndef COMPLEXBODYSHAPE_H_
#define COMPLEXBODYSHAPE_H_

#include "math/math.h"
#include "BodyShape.h"

namespace physicsworks {

using math::vec3;

template<class HBV>
class ComplexBodyShape : public BodyShape {
private:
	HBV hBoundingVolume;
	
public:
	ComplexBodyShape(vec3* vertices, int numVertices, const int* verticesIndices, int numFaces);
	~ComplexBodyShape() {}
	
	AABox getBoundingBox(const vec3& pos, const mat3& ori) const {
		return hBoundingVolume.getBoundingBox().transform(pos, ori);
	}
};

template<class HBV>
ComplexBodyShape<HBV>::ComplexBodyShape(vec3* vertices, int numVertices, const int* verticesIndices, int numFaces)
 : hBoundingVolume(vertices, numVertices, verticesIndices, numFaces)
{
	
}

}

#endif /*COMPLEXBODYSHAPE_H_*/
